package com.prd.service;

import com.prd.dto.SysStaticMenuDTO;
import com.prd.model.SysStaticMenuDO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.prd.util.JsonData;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author lizhaoyi
 * @since 2024-01-21
 */
public interface SysStaticMenuService extends IService<SysStaticMenuDO> {

    /**
     * 获取菜单列表
     * @return
     */
    JsonData getAllList();

    /**
     * 根据用户角色获取菜单列表
     * @param roleId
     * @return
     */
    JsonData getListByRoleId(Long roleId);

    /**
     * 根据角色id获取当前用户顶级菜单
     * @param roleId
     * @return
     */
    JsonData getTopListByRoleId(String roleId);

    /**
     * 保存菜单列表
     * @param menuDTOs
     * @return
     */
    JsonData saveMenus(List<SysStaticMenuDTO> menuDTOs);

    /**
     * 根据用户id获取菜单列表
     * @param userId
     * @return
     */
    JsonData getListByUserId(Long userId);

    /**
     * 根据用户id获取顶级菜单列表
     * @param userId
     * @return
     */
    JsonData getTopListByUserId(Long userId);

    /**
     * 获取当前用户菜单列表
     * @return
     */
    JsonData getList();

    /**
     * 获取当前用户顶级菜单列表
     * @return
     */
    JsonData getTopList();
}
